﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;


namespace Shine.Framework
{
    [Guid("6a759f52-67f4-4d83-8cb1-fdca33326592")]
    public interface IApplication
    {
        string Caption { get; set; }

        ICommandItem CurrentTool { get; set; }

        IDocument Document { get; }

       // IOperationStack OperationStack { get; }

        int hWnd { get; }

        string Name { get; }

        IStatusBar StatusBar { get; }

     
     
        bool Visible { get; set; }

        bool IsDialogVisible(int dialogID);

        void NewDocument(bool selectTemplate, string templatePath);

        void OpenDocument(string path);

        void PrintDocument();

        void PrintPreview();

        void RefreshWindow();

        void SaveAsDocument(string saveAsPath);

        void SaveDocument(string saveAsPath);

        object ShowDialog(int dialogID, ref object bShow);

        void Shutdown();

       // IExtension FindExtensionByCLSID(UID extensionCLSID);

       // IExtension FindExtensionByName(string extensionName);
    }
}   

//void LockCustomization(string Password, ICustomizationFilter custFilter);
 //void UnlockCustomization(string Password);